# -*- coding:utf-8 -*-
"""
describe：JsonHandler
Author：winni
Email：mwn666888@163.com
Time: 2025/2/26 16:02
Software: PyCharm
"""
import json
from common.tools import get_path


def read_json(filename):
    """
    读取JSON文件并返回数据。

    :param filename: JSON文件的路径
    :return: 从JSON文件中读取的数据
    """
    try:
        with open(filename, 'rb') as file:
            data = json.load(file)
        return data
    except FileNotFoundError:
        print(f"文件 {filename} 未找到.")
        return None
    except json.JSONDecodeError:
        print(f"文件 {filename} 不是有效的JSON.")
        return None


def write_json(data, filename):
    """
    将数据写入JSON文件。

    :param data: 要写入文件的数据
    :param filename: JSON文件的路径
    """
    try:
        with open(filename, 'w') as file:
            json.dump(data, file, indent=4)
        print(f"数据已成功写入 {filename}.")
    except TypeError:
        print("提供的数据无法序列化为JSON.")
    except IOError:
        print(f"写入文件 {filename} 时出错.")


# 示例使用
if __name__ == "__main__":
    # 示例数据
    sample_data = {
        "name": "John Doe",
        "age": 30,
        "city": "New York"
    }

    # 写入数据到JSON文件
    # write_json(sample_data, 'sample.json')

    # 从JSON文件读取数据
    read_data = read_json(get_path("/data/项目集/项目集.json"))
    print(read_data)
